<?php
define('HTML_TITRE', 'db en développement');
require_once('dohtml.inc.php');
require_once('dohtml_bpc_general.inc.php');
require_once('img.inc.php');
require_once('onglets.inc.php');

function dohtml_lienajout($lien, $texte)
{
?>
<div class='lienajout'>
    <a href='<?=$lien?>'><?=$texte?></a>
</div>
<?php
}


function option_affiche($affiche, $option)
{
    $retour = " value='$option' ";
    if ($affiche==$option)
        return $retour.'selected=\'selected\'';
    else
        return $retour;
}

function dohtml_navliste($affiche, $total, &$debut, $lien_avant, $lien_apres)//-
{
?>
<div class='navigliste'>
<?php
    $fastr='';
    $rewind='';
    $play='';
    $fastp='';
    if ($affiche==AFFICHE_TOUS)
    {
        $nb_pages = 1;
        $debut = 0;
    }
    else
    {
        // Nombre de pages total
        $nb_pages = ceil($total/$affiche);
        // Page actuelle
        if ($debut>$total)
            $page=$nb_pages;
        else
            $page = floor($debut/$affiche)+1;
        // On modifie le debut pour que la page inclue le n° demandé
        $debut=($page-1)*$affiche;
        // Sauf pour la 1ere page...
        if ($page!=1)
        {
            // Liens 1ere et precedent
            $fastr=html_lien("$lien_avant-$affiche-0$lien_apres",
                            html_image('fastr.png', LNG_NAV_A_PREMIERE),
                            LNG_NAV_T_PREMIERE);
            $rewind=html_lien("$lien_avant-$affiche-".($debut-$affiche)."$lien_apres",
                            html_image('rewind.png', LNG_NAV_A_PRECEDENTE),
                            LNG_NAV_T_PRECEDENTE);
        }
        // Sauf pour la derniere page
        if ($page!=$nb_pages)
        {
            // Liens derniere et suivant
            $play=html_lien("$lien_avant-$affiche-".($debut+$affiche)."$lien_apres",
                            html_image('play.png', LNG_NAV_A_DERNIERE),
                            LNG_NAV_T_DERNIERE);
            $fastp=html_lien("$lien_avant-$affiche-".($nb_pages*$affiche)."$lien_apres",
                            html_image('fastp.png', LNG_NAV_A_SUIVANTE),
                            LNG_NAV_T_SUIVANTE);
        }

?>
    <?=$fastr?>
    <?=$rewind?>
    <label for='page'>
        <?=LNG_NAV_PAGE?>
    </label>
    <select title='<?=htmlspecialchars(LNG_NAV_T_PAGE, ENT_QUOTES)?>' id='page' onchange="zones_change_page('<?="$lien_avant-$affiche-','".$lien_apres?>');">
<?php
        for ($i = 1; $i <= $nb_pages; $i++)
        {
            $select='';
            if ($i==$page)
                $select=" selected='selected'";
?>
        <option value='<?=($i-1)*$affiche?>'<?=$select?>><?=$i?></option>
<?php
        }
?>
    </select>
    /<?=$nb_pages?>
    <?=$play?>
    <?=$fastp?>
<?php
    }
?>
    <?=LNG_NAV_AVANTPARPAGE?>
    <select title='<?=htmlspecialchars(LNG_NAV_T_AFFICHE, ENT_QUOTES)?>' id='affiche' onchange="zones_change_affiche('<?=$lien_avant."-','-0".$lien_apres?>');">
        <option <?=option_affiche($affiche, AFFICHE_10)?>>10</option>
        <option <?=option_affiche($affiche, AFFICHE_20)?>>20</option>
        <option <?=option_affiche($affiche, AFFICHE_50)?>>50</option>
        <option <?=option_affiche($affiche, AFFICHE_TOUS)?>>Tous</option>
    </select>
    <?=LNG_NAV_APRESPARPAGE?>
</div>
<?php
}//--------------------------------------------------------------dohtml_navliste





function dohtml_baliseaide($title)//------------------------------------------------------
{
$title=htmlspecialchars($title, ENT_QUOTES)
?>
    <a title='<?php echo $title; ?>'><?php dohtml_image('aide.png','aide'); ?></a>
<?php
}//----------------------------------------------------------------dohtml_footer


function dohtml_erreur($texte)//------------------------------------------------------
{
?>
    <span class='erreur'><?php echo $texte ?></span>
<?php
}//----------------------------------------------------------------dohtml_footer



function dohtml_iconeprint()//------------------------------------------------------
{
    dohtml_lien('#',html_image('print.png'));
?>
   
<?php
}//----------------------------------------------------------------dohtml_footer


function dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur='')//------------------------------------------------------
{
if ($class!='integre')
{    
?>
<div class='<?=$class?>'>
    <label title='<?=htmlspecialchars($aide, ENT_QUOTES)?>'>
        <?=$label?>:
    </label>
<?php
}
else
{
?>
    <span class='<?=$class?>'>
<?php
}
?>
    <?=$champ?>
<?php
if ($class!='integre')
{    
    if ($erreur!='')
    {
        echo '<br/>';
        dohtml_erreur($erreur);
    }
?>
    </div>
<?php
}
else
{
?>
    </span>
<?php
}
}//----------------------------------------------------------------dohtml_footer


function dohtml_formtext($class, $nom, $label, $aide, $edition=TRUE, $valeur='', $erreur='')//------------------------------------------------------
{
	if (!$edition)
	{
		if (adresse_valide($valeur))
		{
			$champ = "<a href='mailto:$valeur'>$valeur</a>";
		}
		else
		{
			$champ = htmlspecialchars($valeur);
		}
	}
	else
	{
		$valeur = htmlspecialchars($valeur,ENT_QUOTES);
		$champ = "<input type='text' name='$nom' id='$nom' value='$valeur'/>";
	}
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer



function dohtml_formdate($class, $nom, $label, $aide, $edition=TRUE, $valeur='', $erreur='')//------------------------------------------------------
{
	if (!$edition)
	{
		if (adresse_valide($valeur))
		{
			$champ = "<a href='mailto:$valeur'>$valeur</a>";
		}
		else
		{
			$champ = htmlspecialchars($valeur);
		}
	}
	else
	{
		$champ = "<input type='text' name='$nom' id='$nom' value='$valeur' onclick='displayDatePicker(\"$nom\");'/>";
	}
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer


function dohtml_formarea($class, $nom, $label, $aide, $row, $col, $edition, $valeur='', $erreur='')//------------------------------------------------------
{
	if (!$edition)
	{
		$champ = nl2br(htmlspecialchars($valeur)); 
	}
	else
	{
		$champ="<textarea id='$nom' rows='$row' cols='$col'name='$nom'>$valeur</textarea>";
	}
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer


function dohtml_formpass($class, $nom, $label, $aide, $erreur='')//------------------------------------------------------
{
    $champ="<input type='password' name='$nom' id='$nom'/>";
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer


function dohtml_formcheck($class, $nom, $label, $aide, $erreur='')//------------------------------------------------------
{
    $champ="<input type='checkbox' id='$nom' name='$nom'/>";
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer


function dohtml_formradio($class, $nom, $label, $aide, $choix, $valeur='', $erreur='')//------------------------------------------------------
{
    $champ='';
    foreach ($choix as $elem)
    {
        $champ.="<input type='radio' name='type' value='$elem[O]' />$elem[1]";
    }
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer

function dohtml_formselect($class, $nom, $label, $aide, $choix, $edition = TRUE, $valeur='', $erreur='')//------------------------------------------------------
{
	if ($edition)
	{
		$champ="<select id='$nom' name='$nom'>";
		if ($valeur)
			$champ.="<option value='-1'>&nbsp;</option>";
		foreach ($choix as $elem)
		{
			if ($elem[1])
				$texte=$elem[1];
			else
				$texte='&nbsp;';
			$select = ( $elem[0] == $valeur )? " selected='selected'": '';
			$champ.="<option value='$elem[0]'$select>$texte</option>";
		}
		$champ.="</select>";
	}
	else
	{
		$champ = '';
		foreach ($choix as $elem)
		{
			if ($elem[0]==$valeur)
			{
				$champ = htmlspecialchars($elem[1]);
				break;
			}				
		}
	}
    dohtml_formdiv($class, $nom, $label, $aide, $champ, $erreur);
}//----------------------------------------------------------------dohtml_footer

function dohtml_formbouton($class, $t_ok, $v_ok='submit', $t_reset='')//------------------------------------------------------
{
?>
<div class='<?=$class?>'>
    <label class='labelbouton'>&nbsp;</label>
    <input type='submit' name='<?=$v_ok?>' value='<?=htmlspecialchars($t_ok)?>' />
<?php
if ($t_reset!='')
{
?>
    <input type='reset' value='<?=htmlspecialchars($t_reset)?>' />
<?php
}
?>
</div>
<?php
}//----------------------------------------------------------------dohtml_footer


function dohtml_bloccritere()
{
?>
<div class='bloccritere'>
    <select class='critere1'>
        <option value='-1' selected='selected'>&nbsp;</option>
        <option value='0'>Branche d'activité</option>
        <option value='1'>Zone d'activité</option>
        <option value='2'>Commercial</option>
        <option value='3'>Nom</option>
    </select>
    <select class='critere2'>
        <option value='-1' selected='selected'>&nbsp;</option>
        <option value='0'>est</option>
        <option value='1'>n'est pas</option>
    </select>
    <input type='text' class='critere3'/>
    <a href='#'>Supprimer</a>
</div>
<?php
}


function dohtml_blocparticipant()
{
?>
<div class='blocparticipant'>
    <select class='particlient'>
        <option value='-1' selected='selected'>&nbsp;</option>
        <option value='1'>Client 1</option>
        <option value='2'>Client 2</option>
        <option value='2'>Client 3</option>
    </select>
    <select class='particontact'>
        <option value='1'>Contact 1</option>
        <option value='2'>Contact 2</option>
        <option value='2'>Contact 3</option>
    </select>
</div>
<?php
}

function dohtml_blocaction()
{
?>
<div class='blocaction'>
	<select>
		<option selected='selected'>Utilisateur 1</option>
		<option>Utilisateur 2</option>
		<option>Utilisateur 3</option>
	</select>
	<a href='#'>supprimer cette action</a>
    <br/>
    <textarea name='commentaire' cols='15' rows='4'></textarea>
</div>
<?php
}


function adresse_valide($adresse)
{
	// Auteur : bobocop (arobase) bobocop (point) cz
	// Traduction des commentaires par mathieu

	// Le code suivant est la version du 2 mai 2005 qui respecte les RFC 2822 et 1035
	// http://www.faqs.org/rfcs/rfc2822.html
	// http://www.faqs.org/rfcs/rfc1035.html

	$atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
	$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
								   
	$regex = '/^' . $atom . '+' .   // Une ou plusieurs fois les caractères autorisés avant l'arobase
	'(\.' . $atom . '+)*' .         // Suivis par zéro point ou plus
									// séparés par des caractères autorisés avant l'arobase
	'@' .                           // Suivis d'un arobase
	'(' . $domain . '{1,63}\.)+' .  // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
									// séparés par des points
	$domain . '{2,63}$/i';          // Suivi de 2 à 63 caractères autorisés pour le nom de domaine

	// test de l'adresse e-mail
	return preg_match($regex, $adresse);
}

function mdp_valide($mdp)
{
	return ( strlen( trim( $mdp ) )>3 );
}

function test_msg_exit($test, $msg)
{
	if (!$test)
	{
		echo $msg;
		dohtml_final();
		exit;
	}
}
?>
